/**
 * Copyright &copy; 2012-2016 <a href="https://www.kaaction.com">KAA</a> All rights reserved All rights reserved.
 */
package com.kaaction.modules.market.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.kaaction.common.persistence.DataEntity;

/**
 * 促销商品Entity
 * @author zengbiao
 * @version 2017-04-19
 */
public class Sale extends DataEntity<Sale> {
	
	private static final long serialVersionUID = 1L;
	private Event event;		// event_id
	private String productType;		// product_type
	private String title;		// title
	private String brief;		// brief
	private Double marketPriceForShow;		// market_price_for_show
	private Double salePrice;		// sale_price
	private String cover;		// cover
	private Integer buyLimit;		// buy_limit
	private Integer buyLimitPerDay;		// buy_limit_per_day
	private Integer participateLimit;		// participate_limit
	private Integer participateLimitPerDay;		// participate_limit_per_day
	private Double tranportFee;		// tranport_fee
	private String covers;		// covers
	private Integer barginLimit;		// bargin_limit
	private Double barginFloorPrice;		// bargin_floor_price
	private Double barginFloorPriceForShow;		// bargin_floor_price_for_show
	private Double barginCeilPrice;		// bargin_ceil_price
	private Integer barginDurationLimit;		// bargin_duration_limit
	private Date startDate;		// start_date
	private Date endDate;		// end_date
	private Date participateStartDate;		// participate_start_date
	private Date participateEndDate;		// participate_end_date
	private String description;		// description
	private String productDescription;		// product_description
	private Date applyStartDate;		// 暂时不用
	private Date applyEndDate;		// 暂时不用
	private String shareTitle;		// share_title
	private String shareContent;		// share_content
	private String shareImage;		// share_image
	private String shareUrl;		// share_url
	
	public Sale() {
		super();
	}

	public Sale(String id){
		super(id);
	}

	public Event getEvent() {
		return event;
	}

	public void setEvent(Event event) {
		this.event = event;
	}

	@Length(min=0, max=3, message="product_type长度必须介于 0 和 3 之间")
	public String getProductType() {
		return productType;
	}

	public void setProductType(String productType) {
		this.productType = productType;
	}
	
	@Length(min=0, max=200, message="title长度必须介于 0 和 200 之间")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	@Length(min=0, max=1000, message="brief长度必须介于 0 和 1000 之间")
	public String getBrief() {
		return brief;
	}

	public void setBrief(String brief) {
		this.brief = brief;
	}
	
	public Double getMarketPriceForShow() {
		return marketPriceForShow;
	}

	public void setMarketPriceForShow(Double marketPriceForShow) {
		this.marketPriceForShow = marketPriceForShow;
	}
	
	public Double getSalePrice() {
		return salePrice;
	}

	public void setSalePrice(Double salePrice) {
		this.salePrice = salePrice;
	}
	
	@Length(min=1, max=200, message="cover长度必须介于 1 和 200 之间")
	public String getCover() {
		return cover;
	}

	public void setCover(String cover) {
		this.cover = cover;
	}
	
	public Integer getBuyLimit() {
		return buyLimit;
	}

	public void setBuyLimit(Integer buyLimit) {
		this.buyLimit = buyLimit;
	}
	
	public Integer getBuyLimitPerDay() {
		return buyLimitPerDay;
	}

	public void setBuyLimitPerDay(Integer buyLimitPerDay) {
		this.buyLimitPerDay = buyLimitPerDay;
	}
	
	public Integer getParticipateLimit() {
		return participateLimit;
	}

	public void setParticipateLimit(Integer participateLimit) {
		this.participateLimit = participateLimit;
	}
	
	public Integer getParticipateLimitPerDay() {
		return participateLimitPerDay;
	}

	public void setParticipateLimitPerDay(Integer participateLimitPerDay) {
		this.participateLimitPerDay = participateLimitPerDay;
	}
	
	public Double getTranportFee() {
		return tranportFee;
	}

	public void setTranportFee(Double tranportFee) {
		this.tranportFee = tranportFee;
	}
	
	@Length(min=0, max=1000, message="covers长度必须介于 0 和 1000 之间")
	public String getCovers() {
		return covers;
	}

	public void setCovers(String covers) {
		this.covers = covers;
	}
	
	public Integer getBarginLimit() {
		return barginLimit;
	}

	public void setBarginLimit(Integer barginLimit) {
		this.barginLimit = barginLimit;
	}
	
	public Double getBarginFloorPrice() {
		return barginFloorPrice;
	}

	public void setBarginFloorPrice(Double barginFloorPrice) {
		this.barginFloorPrice = barginFloorPrice;
	}
	
	public Double getBarginFloorPriceForShow() {
		return barginFloorPriceForShow;
	}

	public void setBarginFloorPriceForShow(Double barginFloorPriceForShow) {
		this.barginFloorPriceForShow = barginFloorPriceForShow;
	}
	
	public Double getBarginCeilPrice() {
		return barginCeilPrice;
	}

	public void setBarginCeilPrice(Double barginCeilPrice) {
		this.barginCeilPrice = barginCeilPrice;
	}
	
	public Integer getBarginDurationLimit() {
		return barginDurationLimit;
	}

	public void setBarginDurationLimit(Integer barginDurationLimit) {
		this.barginDurationLimit = barginDurationLimit;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getParticipateStartDate() {
		return participateStartDate;
	}

	public void setParticipateStartDate(Date participateStartDate) {
		this.participateStartDate = participateStartDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getParticipateEndDate() {
		return participateEndDate;
	}

	public void setParticipateEndDate(Date participateEndDate) {
		this.participateEndDate = participateEndDate;
	}
	
	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}
	
	public String getProductDescription() {
		return productDescription;
	}

	public void setProductDescription(String productDescription) {
		this.productDescription = productDescription;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getApplyStartDate() {
		return applyStartDate;
	}

	public void setApplyStartDate(Date applyStartDate) {
		this.applyStartDate = applyStartDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getApplyEndDate() {
		return applyEndDate;
	}

	public void setApplyEndDate(Date applyEndDate) {
		this.applyEndDate = applyEndDate;
	}
	
	@Length(min=0, max=200, message="share_title长度必须介于 0 和 200 之间")
	public String getShareTitle() {
		return shareTitle;
	}

	public void setShareTitle(String shareTitle) {
		this.shareTitle = shareTitle;
	}
	
	public String getShareContent() {
		return shareContent;
	}

	public void setShareContent(String shareContent) {
		this.shareContent = shareContent;
	}
	
	@Length(min=0, max=200, message="share_image长度必须介于 0 和 200 之间")
	public String getShareImage() {
		return shareImage;
	}

	public void setShareImage(String shareImage) {
		this.shareImage = shareImage;
	}
	
	@Length(min=0, max=200, message="share_url长度必须介于 0 和 200 之间")
	public String getShareUrl() {
		return shareUrl;
	}

	public void setShareUrl(String shareUrl) {
		this.shareUrl = shareUrl;
	}
	
}